// 导入数据库操作模块
const db = require('../db/index')


// 获取单词本列表的处理函数
exports.wordBook = (req, res) => {
    // console.log(req.user.openid, 111)
    // 根据openid找到当前用户的数据库id
    const sql = `select id from ev_users where openid=?`
    db.query(sql, req.user.openid, (err, results) => {
        if (err) return res.cc(err)
        // 根据用户id找到对应的单词本 （因为wordBooK表的dept_id和user的id进行了外键约束，所以值相同）
        const sql = `select * from ev_wordbook where dept_id=? and is_delete=0`
        db.query(sql, results[0].id, (err, results) => {
            if (err) return res.cc(err)
            console.log(results)
            res.send({
                status: 200,
                message: '获取单词本数据成功!',
                data: results
            })
        })
    })

}
// 添加单词本数据的处理函数
exports.wordBookAdd = (req, res) => {
    // 根据openid找到当前用户的数据库id
    const sql = `select id from ev_users where openid=?`
    db.query(sql, req.user.openid, (err, results) => {
        if (err) return res.cc(err)
        req.body.dept_id = results[0].id

        // 添加单词本
        const sql = `insert into ev_wordbook set ?`
        db.query(sql, req.body, (err, results) => {
            if (err) return res.cc(err)
            res.cc('添加单词本数据成功!', 200)
        })

    })


}

// 删除单词本的处理函数 （优化，标记删除）
exports.deleteWordBook = (req, res) => {
    console.log(req)
    // const sql = `delete from ev_wordbook where id=?`
    const sql = `update ev_wordbook set is_delete=1 where id=?`

    db.query(sql, req.query.id, (err, results) => {
        // 执行 SQL 语句失败
        if (err) return res.cc(err)
        // SQL 语句执行成功，但是影响行数不等于 1
        if (results.affectedRows !== 1) return res.cc('删除单词本失败！', 201)
        // 删除单词本成功
        res.cc('删除单词本成功！', 200)

    })

}

//收藏单词本的处理函数
exports.bookmarkWords = (req, res) => {
    // console.log(req.body.id)
    // 根据单词本id修改collection状态
    const sql = `update ev_wordbook set collection = ABS(collection - 1) where id=?`
    db.query(sql, req.body.id, (err, results) => {
        // 执行 SQL 语句失败
        if (err) return res.cc(err)
        // SQL 语句执行成功，但是影响行数不等于 1
        if (results.affectedRows !== 1) return res.cc('修改收藏状态失败！', 201)
        // 修改收藏状态成功
        res.cc('修改收藏状态成功！', 200)

    })
}
/* 
// 修改单词本的处理函数 (暂时弃用)
exports.modifyWordBook = (req, res) => {
    
    res.cc('修改收藏状态成功！', 200)

} */




